let temperatures=[73,74,75,71,69,72,76,73]
// 单调栈
// 栈中存放的是数组的下标
// 栈底到栈顶的下标对应的温度值是单调递减的
// 当遍历到一个温度值比栈顶下标对应的温度值高时，就知道栈顶下标对应的温度值的下一个更高温度是当前温度值
// 不断出栈，直到栈为空或者栈顶下标对应的温度值比当前温度值高
// 出栈时，将出栈下标对应的下一个更高温度值设置为当前温度值
var dailyTemperatures=function(temperatures)
{
  const len =temperatures
  const stack=[]//单调递减栈
  const res=(new Array(len)).fill(0)//初始化结果数组
  for (let i=0;i<len;i++)
  {
     while(stack.length&&temperatures[i]>temperatures[stack[stack.length-1]])
     {
        const top=stack.pop()
        res[top]=i-top//这个就是求的解
     }
    
    stack.push(i)//入栈
  }
  return res
}
console.log(dailyTemperatures(temperatures))
